package com.shnu.work.service;

import com.shnu.work.entity.SystemInformationEntity;

import java.util.List;
import java.util.Optional;

/**
 * @author Shinomiya Kaguya
 */
public interface ISystemInformationService {
    /**
     * 通过id查询
     *
     * @param id id
     * @return 结果
     */
    Optional<SystemInformationEntity> getSysInfoById(Long id);

    /**
     * 查找所有未删除的记录
     *
     * @return List
     */
    List<SystemInformationEntity> listAllUndeletedSysInfo();

    /**
     * 新增一条记录
     *
     * @param sysInfo 记录
     * @return 原纪录
     */
    SystemInformationEntity saveNewSysInfo(SystemInformationEntity sysInfo);

    /**
     * 清除所有的启用字段
     *
     * @return 行数
     */
    Integer clearAllAvailableStatus();

    /**
     * 根据id设置启用字段
     *
     * @param id id
     * @return 行数
     */
    Integer updateAvailableStatusById(Long id);

    /**
     * 根据id删除
     *
     * @param id id
     * @return 行数
     */
    Integer removeSysInfoById(Long id);
}
